security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } if(($_SESSION['statut']=='cpe')&&(!getSettingAOui('CpeEditElevesGroupes'))) { header("Location: ../accueil.php?msg=Accès non autorisé"); die(); } elseif(($_SESSION['statut']=='scolarite')&&(!getSettingAOui('ScolEditElevesGroupes'))) { header("Location: ../accueil.php?msg=Accès non autorisé"); die(); } // Initialisation des variables utilisées dans le formulaire $id_classe = isset($_GET['id_classe']) ? $_GET['id_classe'] : (isset($_POST['id_classe']) ? $_POST["id_classe"] : NULL); $id_groupe = isset($_GET['id_groupe']) ? $_GET['id_groupe'] : (isset($_POST['id_groupe']) ? $_POST["id_groupe"] : NULL); $order_by = isset($_GET['order_by']) ? $_GET['order_by'] : (isset($_POST['order_by']) ? $_POST["order_by"] : "classe"); if(isset($_POST['id_groupe_reference'])) { $_SESSION['id_groupe_reference_copie_assoc']=$_POST['id_groupe_reference']; } function debug_edit_eleves($texte) { $debug_edit_eleves=0; if($debug_edit_eleves==1) { echo "$texte
\n"; } } debug_edit_eleves("id_groupe=$id_groupe"); if (!is_numeric($id_groupe)) { $id_groupe = 0; header("Location: ../accueil.php?msg=Enseignement non choisi"); die(); } $sql="SELECT 1=1 FROM groupes WHERE id='$id_groupe';"; $test=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($test)==0) { header("Location: ../accueil.php?msg=Enseignement invalide"); die(); } debug_edit_eleves("id_groupe=$id_groupe"); $current_group = get_group($id_groupe); $reg_nom_groupe = $current_group["name"]; debug_edit_eleves("reg_nom_groupe=$reg_nom_groupe"); $reg_nom_complet = $current_group["description"]; $reg_matiere = $current_group["matiere"]["matiere"]; if(!isset($id_classe)) { $id_classe=$current_group['classes']['list'][0]; } $reg_id_classe = $id_classe; $reg_clazz = $current_group["classes"]["list"]; $reg_professeurs = (array)$current_group["profs"]["list"]; $mode = isset($_GET['mode']) ? $_GET['mode'] : "groupe"; if (count($current_group["classes"]["list"]) > 1) { $multiclasses = true; } else { $multiclasses = false; } $reg_eleves = array(); foreach ($current_group["periodes"] as $period) { //echo '$period["num_periode"]='.$period["num_periode"]."
"; if($period["num_periode"]!=""){ $reg_eleves[$period["num_periode"]] = $current_group["eleves"][$period["num_periode"]]["list"]; //$msg.="\$reg_eleves[\$period[\"num_periode\"]]=\$reg_eleves[".$period["num_periode"]."]=".$reg_eleves[$period["num_periode"]]."
"; } } $msg = null; if (isset($_POST['is_posted'])) { check_token(); $error = false; // On vide les signalements par un prof lors de l'enregistrement $sql="DELETE FROM j_signalement WHERE id_groupe='$id_groupe' AND nature='erreur_affect';"; //echo "$sql
"; $del=mysqli_query($GLOBALS["mysqli"], $sql); // Elèves $sql="SELECT DISTINCT login FROM j_eleves_groupes WHERE id_groupe='$id_groupe' ORDER BY login"; debug_edit_eleves($sql); $result_liste_eleves_du_grp=mysqli_query($GLOBALS["mysqli"], $sql); while($lig_eleve=mysqli_fetch_object($result_liste_eleves_du_grp)){ $temoin_nettoyage=""; foreach($current_group["periodes"] as $period) { //$sql="SELECT * FROM matieres_notes WHERE login='$lig_eleve->login' AND id_groupe='$id_groupe' AND periode='$period'"; $sql="SELECT * FROM matieres_notes WHERE login='$lig_eleve->login' AND id_groupe='$id_groupe' AND periode='".$period['num_periode']."';"; debug_edit_eleves($sql); $res_liste_notes=mysqli_query($GLOBALS["mysqli"], $sql); //$sql="SELECT * FROM matieres_appreciations WHERE login='$lig_eleve->login' AND id_groupe='$id_groupe' AND periode='$period'"; //$sql="SELECT * FROM matieres_appreciations WHERE login='$lig_eleve->login' AND id_groupe='$id_groupe' AND periode='$period'"; $sql="SELECT * FROM matieres_appreciations WHERE login='$lig_eleve->login' AND id_groupe='$id_groupe' AND periode='".$period['num_periode']."';"; debug_edit_eleves($sql); $res_liste_appreciations=mysqli_query($GLOBALS["mysqli"], $sql); if((mysqli_num_rows($res_liste_notes)==0)&&(mysqli_num_rows($res_liste_appreciations)==0)){ //$sql="DELETE FROM j_eleves_groupes WHERE id_groupe='$id_groupe' AND login='$lig_eleve->login'"; //$sql="DELETE FROM j_eleves_groupes WHERE id_groupe='$id_groupe' AND login='$lig_eleve->login' AND periode='$period'"; $sql="DELETE FROM j_eleves_groupes WHERE id_groupe='$id_groupe' AND login='$lig_eleve->login' AND periode='".$period['num_periode']."';"; debug_edit_eleves($sql); //echo "$sql
\n"; $resultat_nettoyage_initial=mysqli_query($GLOBALS["mysqli"], $sql); } } } //========================= // AJOUT: boireaus 20071010 $login_eleve=$_POST['login_eleve']; //$setting_coef=$_POST['setting_coef']; //========================= $reg_eleves = array(); // On travaille période par période $flag = array(); foreach($current_group["periodes"] as $period) { /* foreach ($_POST as $key => $value) { $pattern = "/^eleve\_" . $period["num_periode"] . "\_/"; if (preg_match($pattern, $key)) { $id = preg_replace($pattern, "", $key); $reg_eleves[$period["num_periode"]][] = $id; // Settings spécifiques $coef = array(); if (!in_array($id, $flag)) { $coef[] = $_POST["setting_coef_".$id]; $res = set_eleve_groupe_setting($id, $id_groupe, "coef", $coef); $flag[] = $id; } } } */ $reg_eleves[$period["num_periode"]]=array(); for($i=0;$i0) { for($i=0;$i"; print_r($reg_code_modalite_elect_eleves); echo ""; */ if (!$error) { // pas d'erreur : on continue avec la mise à jour du groupe /* $msg.="count(\$reg_eleves)=count($reg_eleves)=".count($reg_eleves)."
"; $msg.="count(\$reg_clazz)=count($reg_clazz)=".count($reg_clazz)."
"; $msg.="\$reg_clazz[0]=".$reg_clazz[0]."
"; $msg.="update_group($id_groupe, $reg_nom_groupe, $reg_nom_complet, $reg_matiere, $reg_clazz, $reg_professeurs, $reg_eleves);
"; */ //========================================== // MODIF: boireaus if(count($reg_eleves)!=0){ // 20160420 $create = update_group($id_groupe, $reg_nom_groupe, $reg_nom_complet, $reg_matiere, $reg_clazz, $reg_professeurs, $reg_eleves, $reg_code_modalite_elect_eleves); debug_edit_eleves("update_group($id_groupe, $reg_nom_groupe, $reg_nom_complet, $reg_matiere, \$reg_clazz, \$reg_professeurs, \$reg_eleves, \$reg_code_modalite_elect_eleves);"); if (!$create) { $msg .= "Erreur lors de la mise à jour du groupe."; } else { $msg .= "Le groupe a bien été mis à jour."; } } else { // Sauf erreur, $reg_eleves est toujours initialisé, on ne passe plus ici. $login_eleve=$_POST['login_eleve']; debug_edit_eleves("count(\$login_eleve)=".count($login_eleve)); foreach($current_group["periodes"] as $period) { //echo "\n"; for($i=0;$i\n"; $res = mysqli_query($GLOBALS["mysqli"], "delete from j_eleves_groupes where (id_groupe = '" . $id_groupe . "' and login = '" . $login_eleve[$i] . "' and periode = '" . $period["num_periode"] . "')"); if (!$res) $errors = true; } else { $msg .= "Erreur lors de la suppression de l'élève ayant le login '" . $login_eleve[$i] . "', pour la période '" . $period["num_periode"] . " (des notes ou appréciations existent).
"; } } } } //========================================== } debug_edit_eleves("id_groupe=$id_groupe"); $current_group = get_group($id_groupe); // On réinitialise $reg_eleves $reg_eleves = array(); foreach ($current_group["periodes"] as $period) { if($period["num_periode"]!=""){ debug_edit_eleves("\$period[\"num_periode\"]=".$period["num_periode"]); $reg_eleves[$period["num_periode"]] = $current_group["eleves"][$period["num_periode"]]["list"]; debug_edit_eleves("\$reg_eleves[".$period["num_periode"]."] = \$current_group[\"eleves\"][".$period["num_periode"]."][\"list\"]"); } } } if(isset($_POST['upload_et_import_csv'])) { check_token(); $csv_file = isset($_FILES["csv_file"]) ? $_FILES["csv_file"] : NULL; $msg=""; $fp=fopen($csv_file['tmp_name'],"r"); if(!$fp) { $msg="Erreur à l'ouverture du fichier.
"; } else { $nb_periode=$current_group['nb_periode']; $tab_nb_per_classe=array(); $nb_inscriptions_eleve=0; $nb_inscriptions_eleve_toutes_periodes=0; if($_POST['ajouter_ou_remplacer']=="ajouter") { while (!feof($fp)) { $ligne = ensure_utf8(fgets($fp, 4096)); if(trim($ligne)!="") { $tab=explode(";", trim($ligne)); if($tab[0]!="") { $temoin_inscription="n"; $current_eleve=$tab[0]; $sql="SELECT DISTINCT id_classe FROM eleves e, j_eleves_classes jec WHERE jec.login=e.login AND e.login='$current_eleve';"; //echo "$sql
\n"; $res_clas = mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_clas)==0) { $msg .= "L'élève ".$current_eleve." n'existe pas.
"; } else { while($lig_clas=mysqli_fetch_object($res_clas)) { $poursuivre="y"; if(!in_array($lig_clas->id_classe, $current_group["classes"]["list"])) { // La classe n'est pas encore associée à ce groupe if(!isset($tab_nb_per_classe[$lig_clas->id_classe])) { // Récupération du nombre de périodes de la classe $sql="SELECT num_periode FROM periodes p WHERE p.id_classe='$lig_clas->id_classe' ORDER BY num_periode DESC LIMIT 1;"; //echo "$sql
\n"; $res_per = mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_per)==0) { $msg.="Classe n°$lig_clas->id_classe sans période?
"; $tab_nb_per_classe[$lig_clas->id_classe]=0; $poursuivre="n"; } else { $lig_per=mysqli_fetch_object($res_per); $tab_nb_per_classe[$lig_clas->id_classe]=$lig_per->num_periode; } } // Vérification du nombre de périodes if($tab_nb_per_classe[$lig_clas->id_classe]!=$nb_periode-1) { $msg.="$current_eleve est inscrit dans une classe n°$lig_clas->id_classe dont le nombre de période diffère de celui de la ou des classes du groupe n°$id_groupe.
"; // A AMELIORER: Permettre s'il a changé de classe de l'inscrire sur les périodes qui conviennent. $poursuivre="n"; } else { if(!in_array($lig_clas->id_classe, $reg_clazz)) { $reg_clazz[]=$lig_clas->id_classe; } } } if($poursuivre=="y") { // L'élève est-il déjà inscrit? foreach ($current_group["periodes"] as $period) { if($period["num_periode"]!=""){ if(!in_array($current_eleve, $reg_eleves[$period["num_periode"]])) { $reg_eleves[$period["num_periode"]][]=$current_eleve; $nb_inscriptions_eleve_toutes_periodes++; $temoin_inscription="y"; } } } } } if($temoin_inscription=="y") { $nb_inscriptions_eleve++; } } } } } } else { // Il faut contrôler en plus si la désinscription est possible. } if($nb_inscriptions_eleve>0) { // 20160420: On ne change pas les modalités pour le moment: Problème: on peut garder des modalités pour des élèves qui ne sont plus dans le groupe $reg_code_modalite_elect_eleves=$current_group["modalites"]; $create = update_group($id_groupe, $reg_nom_groupe, $reg_nom_complet, $reg_matiere, $reg_clazz, $reg_professeurs, $reg_eleves, $reg_code_modalite_elect_eleves); debug_edit_eleves("update_group($id_groupe, $reg_nom_groupe, $reg_nom_complet, $reg_matiere, \$reg_clazz, \$reg_professeurs, \$reg_eleves);"); if (!$create) { $msg .= "Erreur lors de la mise à jour du groupe."; } else { $msg .= "Le groupe a bien été mis à jour.
"; $msg .= "$nb_inscriptions_eleve élève(s) nouvellement inscrits pour $nb_inscriptions_eleve_toutes_periodes enregistrements en cumulant les périodes (toutes les cases).
"; } } debug_edit_eleves("id_groupe=$id_groupe"); $current_group = get_group($id_groupe); // On réinitialise $reg_eleves $reg_eleves = array(); foreach ($current_group["periodes"] as $period) { if($period["num_periode"]!=""){ debug_edit_eleves("\$period[\"num_periode\"]=".$period["num_periode"]); $reg_eleves[$period["num_periode"]] = $current_group["eleves"][$period["num_periode"]]["list"]; debug_edit_eleves("\$reg_eleves[".$period["num_periode"]."] = \$current_group[\"eleves\"][".$period["num_periode"]."][\"list\"]"); } } } } $avec_js_et_css_edt="y"; $themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?'; //**************** EN-TETE ************************************** $titre_page = "Gestion des groupes"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ********************************** //debug_var(); //========================= $nb_periode=$current_group['nb_periode']; //========================= //echo "\$nb_periode=$nb_periode
"; //========================= // AJOUT: boireaus 20140702 if(isset($_GET['import_csv'])) { echo "

Retour Retour

Import de la liste des élèves dans ".$current_group['name']." (".$current_group['description']." en ".$current_group['classlist_string'].")

".add_token_field()."

Veuillez fournir le fichier CSV :


ATTENTION : Aucune confirmation ne vous sera demandée.

NOTES :

  • Vous pouvez importer la liste des élèves du groupe/enseignement courant d'après un CSV contenant un LOGIN_ELEVE par ligne.
  • Vous pouvez proposer des élèves d'autres classes que celles actuellement associées au groupe, mais seuls les élèves inscrits dans des classes de même nombre de périodes que la ou les classes actuellement associées à ce groupe pourront être inscrits dans le groupe.
  • MODE ENCORE A DEVELOPPER... (*) Si vous désinscrivez des élèves du groupe, la désinscription sera refusée si l'élève a des notes, appréciations, avis sur les bulletins ou des notes dans le carnet de notes.
  • A FAIRE : Mettre des cases à cocher pour choisir/restreindre sur quelle période importer la liste.
"; require("../lib/footer.inc.php"); die(); } //========================= $tab_autres_sig=array(); $sql="SELECT DISTINCT id_groupe FROM j_signalement WHERE nature='erreur_affect' AND id_groupe!='$id_groupe';"; //echo "$sql
"; $res_autres_sig=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_autres_sig)>0) { while($lig_autres_sig=mysqli_fetch_object($res_autres_sig)) { $tab_autres_sig[]=$lig_autres_sig->id_groupe; } } $tab_sig=array(); $sql="SELECT * FROM j_signalement WHERE id_groupe='$id_groupe' AND nature='erreur_affect' ORDER BY periode, login;"; //echo "$sql
"; $res_sig=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_sig)>0) { while($lig_sig=mysqli_fetch_object($res_sig)) { $tab_sig[$lig_sig->periode][$lig_sig->login]=my_ereg_replace("_"," ",$lig_sig->valeur)." selon ".affiche_utilisateur($lig_sig->declarant,$id_classe); //$tab_sig[$lig_sig->periode][]=$lig_sig->login; } } ?> // Initialisation change='no'; \n"; echo "
"; echo "
\n"; echo "

\n"; if(acces('/groupes/edit_class.php', $_SESSION['statut'])) { if(!$multiclasses) { echo "Retour Retour\n"; } else { $cpt_tmp_clas=0; foreach($current_group['classes']['classes'] as $tmp_id_classe => $tmp_tab_clas_grp) { if( $cpt_tmp_clas>0) {echo " | ";} echo "Retour Retour ".$tmp_tab_clas_grp['classe']."\n"; $cpt_tmp_clas++; } } } else { echo "Retour Retour\n"; } //$sql="SELECT DISTINCT jgc.id_groupe FROM groupes g, j_groupes_classes jgc, j_eleves_groupes jeg WHERE jgc.id_classe='$id_classe' AND jeg.id_groupe=jgc.id_groupe AND g.id=jgc.id_groupe AND jgc.id_groupe!='$id_groupe' ORDER BY g.name;"; $sql="SELECT DISTINCT jgc.id_groupe FROM groupes g, j_groupes_classes jgc WHERE jgc.id_classe='$id_classe' AND g.id=jgc.id_groupe ORDER BY g.name;"; //echo "$sql
\n"; $res_grp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_grp)>1) { echo " | "; echo "\n"; $chaine_html_select="\n"; if(($cpt_grp>1)&&(isset($grp_indice[$indice_grp_courant-1]))) { echo " Précédent"; } echo $chaine_html_select; if(isset($grp_indice[$indice_grp_courant+1])) { echo "Suivant"; } echo " \n"; echo "\n"; } echo " | Éditer l'enseignement "; if(acces('/groupes/repartition_ele_grp.php', $_SESSION['statut'])) { echo " | Répartir "; } echo " | Import CSV "; echo "

"; echo "
\n"; echo "
\n"; // Formulaire pour passer à un autre groupe de la même matière éventuellement dans une autre classe $sql="SELECT DISTINCT jgc.id_groupe FROM groupes g, j_groupes_classes jgc, classes c, j_groupes_matieres jgm WHERE jgc.id_classe=c.id AND g.id=jgc.id_groupe AND g.id=jgm.id_groupe AND jgm.id_matiere='".$current_group['matiere']['matiere']."' ORDER BY c.classe, g.name;"; //echo "$sql
\n"; $res_grp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_grp)>1) { echo "
"; echo "
\n"; echo "

"; echo " | "; $indice_grp_courant=0; $chaine_html_select="\n"; if(($cpt_grp>1)&&(isset($grp_indice[$indice_grp_courant-1]))) { echo " Précédent"; } echo $chaine_html_select; if(isset($grp_indice[$indice_grp_courant+1])) { echo "Suivant"; } echo " \n"; echo "\n"; echo "

"; echo "
\n"; echo "
\n"; } // Formulaire pour passer à un autre groupe avec erreur d'affectation if(count($tab_autres_sig)>0) { echo "
"; echo "
\n"; echo "

"; echo " | "; echo "Erreurs:\n"; echo " \n"; echo "\n"; echo "

"; echo "
\n"; echo "
\n"; } echo "
\n"; ?> "; $texte_infobulle=""; $tabdiv_infobulle[]=creer_div_infobulle('edt_prof',$titre_infobulle,"",$texte_infobulle,"",40,0,'y','y','n','n'); //https://127.0.0.1/steph/gepi_git_trunk/edt_organisation/index_edt.php?login_edt=boireaus&type_edt_2=prof&no_entete=y&no_menu=y&lien_refermer=y function affiche_lien_edt_prof($login_prof, $info_prof) { return " EDT"; } $titre_infobulle="EDT de la classe de "; $texte_infobulle=""; $tabdiv_infobulle[]=creer_div_infobulle('edt_classe',$titre_infobulle,"",$texte_infobulle,"",40,0,'y','y','n','n'); echo " \n"; } else { function affiche_lien_edt_prof($login_prof, $info_prof) { return ""; } } //============================================================================================================ function affiche_lien_mailto_prof($mail_prof, $info_prof) { $retour=" "; $retour.="mail"; $retour.=""; return $retour; } //============================================================================================================ echo "

Gérer les élèves de l'enseignement : "; echo ""; echo htmlspecialchars($current_group["description"]) . " ("; if((getSettingAOui('autorise_edt_tous'))|| ((getSettingAOui('autorise_edt_admin'))&&($_SESSION['statut']=='administrateur'))) { foreach($current_group["classes"]["classes"] as $current_id_classe => $tab_classe) { echo $tab_classe["classe"]." "; echo "EDT\n"; } } else { echo $current_group["classlist_string"]; } echo ")"; echo "

\n"; //$temp["profs"]["users"][$p_login] = array("login" => $p_login, "nom" => $p_nom, "prenom" => $p_prenom, "civilite" => $civilite); if(count($current_group["profs"]["users"])>0){ echo "

Cours dispensé par "; $cpt_prof=0; foreach($current_group["profs"]["users"] as $tab_prof){ if($cpt_prof>0){echo ", ";} echo casse_mot($tab_prof['prenom'],'majf2')." ".my_strtoupper($tab_prof['nom']); echo affiche_lien_edt_prof($tab_prof["login"], $tab_prof["prenom"]." ".$tab_prof["nom"]); $mail_prof=get_mail_user($tab_prof["login"]); if(check_mail($mail_prof)) { echo affiche_lien_mailto_prof($mail_prof, $tab_prof["prenom"]." ".$tab_prof["nom"]); } $cpt_prof++; } echo ".

\n"; } // Effectifs des classes associées au groupe: $tab_eff_clas_grp=array(); for($loop=0;$loop"; $res_compte=mysqli_query($GLOBALS["mysqli"], $sql); $tab_eff_clas_grp[$current_group["classes"]["list"][$loop]][$loop_per]=mysqli_num_rows($res_compte); } } echo "
\n"; $sql="SELECT DISTINCT jgc.id_groupe FROM groupes g, j_groupes_classes jgc, j_eleves_groupes jeg WHERE jgc.id_classe='$id_classe' AND jeg.id_groupe=jgc.id_groupe AND g.id=jgc.id_groupe AND jgc.id_groupe!='$id_groupe' ORDER BY g.name;"; //echo "$sql
\n"; $res_grp_avec_eleves=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_grp_avec_eleves)>0) { echo "
\n"; echo "

\n"; echo "\n"; echo "
\n"; echo "\n"; echo "
\n"; echo "\n"; echo "
\n"; echo "\n"; echo "
\n"; echo "\n"; echo "

\n"; echo "\n"; echo "
\n"; echo "
\n"; } ?>

Tout cocher - Tout décocher -
Cocher la première moitié - Décocher la première moitié -
Cocher la seconde moitié - Décocher la seconde moitié -
Griser - Dégriser

\n"; ?>

Cochez les élèves qui suivent cet enseignement, pour chaque période :

\n"; if(count($tab_sig)>0) { echo "

Une ou des erreurs d'affectation dans cet enseignement ont été signalées par le professeur.
Vous pouvez accepter/prendre en compte les propositions de correction signalées par les drapeaux clignotants, en cliquant sur le drapeau en haut à droite du tableau   Prendre en compte tous les signalements d erreurs pour toutes les périodes., puis Enregistrer.
Vous pouvez également rejeter ce signalement, en enregistrant sans cliquer sur le drapeau.

"; } echo "\n"; echo "\n"; echo "\n"; if ($multiclasses) { echo "\n"; } $acces_mes_listes="y"; if(!acces('/groupes/mes_listes.php', $_SESSION['statut'])) { $acces_mes_listes="n"; } foreach ($current_group["periodes"] as $period) { if($period["num_periode"]!=""){ echo "\n"; } } echo ""; echo ""; echo ""; echo "\n"; $conditions = "e.login = j.login and ("; foreach ($current_group["classes"]["list"] as $query_id_classe) { $conditions .= "j.id_classe = '" . $query_id_classe . "' or "; } $conditions = mb_substr($conditions, 0, -4); $conditions .= ") and c.id = j.id_classe"; // Définition de l'ordre de la liste if ($order_by == "classe") { // Classement par classe puis nom puis prénom //$order_conditions = "j.id_classe, e.nom, e.prenom"; $order_conditions = "c.classe, j.id_classe, e.nom, e.prenom"; } elseif ($order_by == "nom") { $order_conditions = "e.nom, e.prenom"; } //============================= echo "\n"; //============================= if ($multiclasses) { echo "\n"; } echo "\n"; foreach ($current_group["periodes"] as $period) { if($period["num_periode"]!=""){ //echo "\n"; } } echo "\n"; echo "\n"; // Marqueurs pour identifier quand on change de classe dans la liste $prev_classe = 0; $new_classe = 0; $empty_td = false; //===================================== $chaine_sql_classe="("; for($i=0;$i0) {$chaine_sql_classe.=" OR ";} $chaine_sql_classe.="id_classe='".$current_group["classes"]["list"][$i]."'"; } $chaine_sql_classe.=")"; //===================================== $acces_eleve_options="y"; if(!acces('/classes/eleve_options.php', $_SESSION['statut'])) { $acces_eleve_options="n"; } $acces_prepa_conseil_edit_limite="y"; if(!acces('/prepa_conseil/edit_limite.php', $_SESSION['statut'])) { $acces_prepa_conseil_edit_limite="n"; } if(count($total_eleves)>0) { $alt=1; foreach($total_eleves as $e_login) { //========================= // Récupération du numéro de l'élève: $num_eleve=-1; for($i=0;$i"; if ($new_classe != $prev_classe and $order_by == "classe" and $multiclasses) { echo "\n"; echo "\n"; foreach ($current_group["periodes"] as $period) { echo "\n"; } echo "\n"; echo "\n"; echo "\n"; $prev_classe = $new_classe; } $alt=$alt*(-1); echo "\n"; if (array_key_exists($e_login, $eleves_list["users"])) { /* echo ""; */ echo "\n"; if ($multiclasses) {echo "\n";} echo "\n"; } else { /* echo "" . ""; */ echo "\n"; if ($multiclasses) {echo "\n";} echo "\n"; } foreach ($current_group["periodes"] as $period) { if($period["num_periode"]!="") { echo "\n"; } } $elementlist = null; foreach ($current_group["periodes"] as $period) { if($period["num_periode"]!="") { $elementlist .= "'eleve_" . $period["num_periode"] . "_" . $e_login . "',"; } } $elementlist = mb_substr($elementlist, 0, -1); echo "\n"; $setting = get_eleve_groupe_setting($e_login, $id_groupe, "coef"); if (!$setting) {$setting = array(null);} //echo "\n"; echo "\n"; //========================= //20160420 echo "\n"; echo "\n"; } } echo "\n"; echo "\n"; if ($multiclasses) { echo "\n"; } echo "\n"; foreach ($current_group["periodes"] as $period) { if($period["num_periode"]!="") { echo "\n"; } } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
Photo affichée
Nom/Prénom
Classe" . $period["nom_periode"]; if($acces_mes_listes=="y") { echo " "; } echo " CoefModalités
"; //============================= //========================= unset($login_eleve); //========================= $calldata = mysqli_query($GLOBALS["mysqli"], "SELECT distinct(j.login), j.id_classe, c.classe, e.nom, e.prenom, e.elenoet FROM eleves e, j_eleves_classes j, classes c WHERE (" . $conditions . ") ORDER BY ".$order_conditions); $nb = mysqli_num_rows($calldata); $eleves_list = array(); $eleves_list["list"]=array(); for ($i=0;$i<$nb;$i++) { $e_login = old_mysql_result($calldata, $i, "login"); //================================ // AJOUT: boireaus //echo "\n"; echo "\n"; //========================= // AJOUT: boireaus 20071010 $login_eleve[$i]=$e_login; //========================= //================================ $e_nom = old_mysql_result($calldata, $i, "nom"); $e_prenom = old_mysql_result($calldata, $i, "prenom"); $e_elenoet = old_mysql_result($calldata, $i, "elenoet"); $e_id_classe = old_mysql_result($calldata, $i, "id_classe"); $classe = old_mysql_result($calldata, $i, "classe"); $eleves_list["list"][] = $e_login; $eleves_list["users"][$e_login] = array("login" => $e_login, "nom" => $e_nom, "prenom" => $e_prenom, "classe" => $classe, "id_classe" => $e_id_classe, "elenoet" => $e_elenoet); } //echo "count(\$eleves_list)=".count($eleves_list)."
"; $total_eleves = $eleves_list["list"]; //echo "count(\$total_eleves)=".count($total_eleves)."
"; foreach ($current_group["periodes"] as $period) { if($period["num_periode"]!=""){ //$total_eleves = array_merge($total_eleves, (array)$reg_eleves[$period["num_periode"]]); if(count($reg_eleves[$period["num_periode"]])>0) {$total_eleves = array_merge($total_eleves, (array)$reg_eleves[$period["num_periode"]]);} //echo "count(\$reg_eleves[".$period["num_periode"]."])=".count($reg_eleves[$period["num_periode"]])."
"; } } //echo "count(\$total_eleves)=".count($total_eleves)."
"; $total_eleves = array_unique($total_eleves); //echo "count(\$total_eleves)=".count($total_eleves)."
"; $elements = array(); foreach ($current_group["periodes"] as $period) { $elements[$period["num_periode"]] = null; foreach($total_eleves as $e_login) { $elements[$period["num_periode"]] .= "'eleve_" . $period["num_periode"] . "_" . $e_login . "',"; } $elements[$period["num_periode"]] = mb_substr($elements[$period["num_periode"]], 0, -1); } //============================= echo " 
 "; //echo "Tout
Aucun"; echo "
"; //========================= // MODIF: boireaus 20071010 //echo "Tout cocher / Tout décocher"; if(count($total_eleves)>0) { echo "Tout cocher / Tout décocher"; if($period["num_periode"]>1) { echo " / Copier les affectations de la première période"; } } //========================= echo "
Inscrits : " . count($current_group["eleves"][$period["num_periode"]]["list"]); echo "
\n"; if((isset($tab_sig))&&(count($tab_sig)>0)) { echo "  Prendre en compte tous les signalements d erreurs pour toutes les périodes."; } else { echo " "; } echo "   "; // 20160420 : Proposer de passer tous les élèves à telle modalité. echo " Forcer\n"; echo "
"; echo "Classe de : " . $eleves_list["users"][$e_login]["classe"]; echo "   
" . $eleves_list["users"][$e_login]["prenom"] . " " . $eleves_list["users"][$e_login]["nom"] . ""; if($acces_eleve_options=="y") { echo ""; echo $eleves_list["users"][$e_login]["nom"]; echo " "; echo $eleves_list["users"][$e_login]["prenom"]; echo "\n"; } else { echo $eleves_list["users"][$e_login]["nom"]; echo " "; echo $eleves_list["users"][$e_login]["prenom"]; } //echo "
".print_r($eleves_list["users"][$e_login])."
"; echo "
" . $eleves_list["users"][$e_login]["classe"] . "" . $e_login . "" . $current_group["eleves"]["users"][$e_login]["prenom"] . " " . $current_group["eleves"]["users"][$e_login]["nom"] . ""; if($new_classe=="BIZARRE"){ echo "$e_login"; } else{ echo "$e_login"; } echo "" . $current_group["eleves"]["users"][$e_login]["classe"] . ""; //========================= // MODIF: boireaus 20080229 //$sql="SELECT 1=1 FROM j_eleves_classes WHERE login='$e_login' AND id_classe='".$new_classe."' AND periode='".$period["num_periode"]."'"; $sql="SELECT 1=1 FROM j_eleves_classes WHERE login='$e_login' AND $chaine_sql_classe AND periode='".$period["num_periode"]."'"; //========================= $res_test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_test)>0){ //========================= // MODIF: boireaus 20071010 //echo ""; } else { echo " />"; } // Test sur la présence de notes dans cn ou de notes/app sur bulletin if (!test_before_eleve_removal($e_login, $current_group['id'], $period["num_periode"])) { if($acces_prepa_conseil_edit_limite=="y") { echo ""; echo "Bulletin non vide"; echo ""; } else { echo "Bulletin non vide"; } } /*$sql="SELECT DISTINCT id_devoir FROM cn_notes_devoirs cnd, cn_devoirs cd, cn_cahier_notes ccn WHERE (cnd.login = '".$e_login."' AND cnd.statut='' AND cnd.id_devoir=cd.id AND cd.id_racine=ccn.id_cahier_notes AND ccn.id_groupe = '".$current_group['id']."' AND ccn.periode = '".$period["num_periode"]."')"; $test_cn=mysqli_query($GLOBALS["mysqli"], $sql); $nb_notes_cn=mysqli_num_rows($test_cn); */ $nb_notes_cn=nb_notes_ele_dans_tel_enseignement($e_login, $current_group['id'], $period["num_periode"]); if($nb_notes_cn>0) { echo "Carnet de notes non vide: $nb_notes_cn notes"; //echo "$sql
"; } if((isset($tab_sig[$period["num_periode"]]))&&(isset($tab_sig[$period["num_periode"]][$e_login]))) { $info_erreur=$tab_sig[$period["num_periode"]][$e_login]; echo "".$info_erreur.""; //$chaine_sig.=",'case_".$period["num_periode"]."_".$num_eleve."'"; } //========================= // AJOUT: boireaus 20080229 if($temoin_eleve_changeant_de_classe=="y") { $sql="SELECT c.classe FROM classes c, j_eleves_classes jec WHERE jec.login='$e_login' AND jec.id_classe=c.id AND jec.periode='".$period["num_periode"]."';"; $res_classe_ele=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_classe_ele)>0){ $lig_tmp=mysqli_fetch_object($res_classe_ele); echo " $lig_tmp->classe"; } } //========================= } else{ echo " \n"; //echo "\n"; } echo "
Tout cocher / Tout décocher
\n"; echo " \n"; echo " "; if(count($total_eleves)>0) { echo "Décocher les élèves sans note/app sur les bulletin et carnet de notes"; if((isset($tab_sig))&&(count($tab_sig)>0)) { echo "  Prendre en compte tous les signalements d erreurs pour la période ".$period["num_periode"].""; } } echo ""; if((isset($tab_sig))&&(count($tab_sig)>0)) { echo "  Prendre en compte tous les signalements d erreurs pour toutes les périodes."; } else { echo " "; } echo "  
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "

\n"; $nb_eleves=count($total_eleves); //echo $nb_eleves; echo "\n"; echo "


\n"; //echo "1"; echo "

NOTE :

\n"; echo "

On ne peut désinscrire que des élèves qui n'ont pas de note ni d'appréciation sur les bulletins.
En revanche, la présence de notes dans le carnet de notes n'empêche pas la désinscription.

\n"; } else { echo "\n"; echo "

La ou les classes associées à l'enseignement ne comportent encore aucun élève.

\n"; } ?>